home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MATHEMAT / STATISTI / 0850B.ZIP / SET2.ARC / KOL-DIST.PAS < prev    next >
Pascal/Delphi Source File  |  1979-12-31  |  3KB  |  97 lines

  1. VAR SWITCH4,N,NUMSAMPS:INTEGER;
  2.     T1,T2,CRIT51,CRIT11:REAL;
  3.     SWITCH3,C:CHAR;
  4.     SWITCH2:BOOLEAN;
  5. PROCEDURE FINDCRITICALVALUES (DEGFREE:INTEGER);
  6. VAR TEMP1,TEMP2:REAL;
  7.  
  8. PROCEDURE VALS(C51,C11:REAL);
  9. BEGIN
  10. CRIT51:=C51;
  11. CRIT11:=C11;
  12. END;
  13.  
  14. PROCEDURE LOOKUP (DF:INTEGER);
  15. BEGIN
  16. CASE DF OF
  17. 1: VALS (0.975,0.995);
  18. 2: VALS (0.842,0.929);
  19. 3: VALS (0.708,0.828);
  20. 4: VALS (0.624,0.733);
  21. 5: VALS (0.565,0.669);
  22. 6: VALS (0.521,0.618);
  23. 7: VALS (0.486,0.577);
  24. 8: VALS (0.457,0.543);
  25. 9: VALS (0.432,0.514);
  26. 10: VALS (0.410,0.490);
  27. 11: VALS (0.391,0.468);
  28. 12: VALS (0.375,0.450);
  29. 13: VALS (0.361,0.433);
  30. 14: VALS (0.349,0.418);
  31. 15: VALS (0.338,0.404);
  32. 16: VALS (0.328,0.392);
  33. 17: VALS (0.318,0.381);
  34. 18: VALS (0.309,0.371);
  35. 19: VALS (0.301,0.363);
  36. 20: VALS (0.294,0.356);
  37. 21: VALS (0.270,0.320);
  38. 22: VALS (0.240,0.290);
  39. 23: VALS (0.230,0.270);
  40. END;
  41. END;
  42. BEGIN
  43. LOOKUP (DEGFREE);
  44. WRITE ('THE CRITICAL VALUE AT .05 (ONE TAILED) IS: ');
  45. WRITELN (CRIT51:5:4);
  46. WRITE ('THE CRITICAL VALUE AT .01 (ONE TAILED) IS: ');
  47. WRITELN (CRIT11:5:4);
  48. IF SWITCH4=1 THEN BEGIN
  49. WRITELN (LST,'THE CRITICAL VALUE AT .05 (ONE TAILED) IS: ',CRIT51:5:4);
  50. WRITELN (LST,'THE CRITICAL VALUE AT .01 (ONE TAILED) IS: ',CRIT11:5:4);
  51. END;
  52. END;
  53.  
  54. BEGIN
  55. REPEAT
  56. WRITELN ('KOLMOGOROV ONE SAMPLE DISTRIBUTION');
  57. WRITE ('DO YOU WANT A PRINTOUT (Y/N)');
  58. READLN (SWITCH3);
  59. IF SWITCH3='Y' THEN SWITCH4:=1;
  60. IF SWITCH3='y' THEN SWITCH4:=1;
  61. IF SWITCH4=1 THEN BEGIN
  62. WRITELN (LST,'KOLMOGOROV ONE SAMPLE DISTRIBUTION');
  63. END;
  64. WRITE ('NUMBER OF ALL OBSERVATIONS = ');
  65. READLN (N);
  66. IF SWITCH4=1 THEN BEGIN
  67. WRITELN (LST,'NUMBER OF ALL OBSERVATIONS = ',N);
  68. END;
  69. NUMSAMPS:=N;
  70. IF N>21 THEN NUMSAMPS:=21;
  71. IF N>25 THEN NUMSAMPS:=22;
  72. IF N>30 THEN NUMSAMPS:=23;
  73. IF N<36 THEN FINDCRITICALVALUES (NUMSAMPS);
  74. IF N>35 THEN BEGIN
  75. NUMSAMPS:=N;
  76. T1:=1.36/SQRT(NUMSAMPS);
  77. T2:=1.63/SQRT(NUMSAMPS);
  78. WRITE ('CRITICAL VALUE OBSERVED MUST BE ABOVE AT P<.05.');
  79. WRITELN (T1:6:4);
  80. WRITE ('CRITICAL VALUE OBSERVED MUST BE ABOVE AT P<.01.');
  81. WRITELN (T2:6:4);
  82. IF SWITCH4=1 THEN BEGIN
  83. WRITELN (LST,'CRITICAL VALUE OBSERVED MUST BE ABOVE AT P<.05.',T1:6:4);
  84. WRITELN (LST,'CRITICAL VALUE OBSERVED MUST BE ABOVE AT P<.01.',T2:6:4);
  85. END;
  86. END;
  87. WRITE ('DO YOU WANT ANOTHER RUN, (Y/N): ');
  88. READLN (C);
  89. WHILE NOT (C IN ['Y','y','n','N']) DO
  90. BEGIN
  91. WRITE ('TYPE Y FOR YES, OR N FOR NO: ');
  92. READLN (C)
  93. END;
  94. SWITCH2:=C IN ['N','n'];
  95. UNTIL SWITCH2
  96. END.
  97.